大家午安喔,我想大家都跑出去惹!
小菜鳥只能默默的待在家中寫寫文章,覺得 我也想出去玩!
好啦,以上都是廢話。
今天想輕鬆點,說點比較概念性的東西,
物件導向是以人類生活世界的思考模式為基礎,
應用到各種領域的一種技術!
它為電腦資訊帶來革命性的突破,
設計程式的世界和人類的真實世界一樣,也有物件。
因此利用物件來撰寫程式,
這就是物件導向程式設計(Object Oriented Progamming,簡單OOP),
目前OOP已經成為設計程式的主流。
生活中所有東西都可以叫做物件(object),
譬如:人、狗、車子、電腦、手機...等等,都可以說是物件,
甚至肉眼看不見的細小物體,也可以算是物件。
若要能辨識不同的物件,
仍然需要藉由物件的屬性(Attributes)和行為(Behaviosr),
這兩項性質來描述每個物件的特徵。
**類別(Class)**是物件的模子,可以用模子產生出很多物件,
類別中可以定義類別的資料成員(屬性)和方法成員(行為),
因此類別可以用來描述物件的統稱。
OOP是用類別(Class)來建立物件(object),
因此在建立物件之前要先定義類別。
如果要定義汽車,以油箱為例:
油箱最多載油量、平均耗油量兩個屬性,
估計一次滿油時可以行駛最長距離是多少的方法、函式,
把最多載油量、平均耗油量和行駛最長距離的方法封裝起來,
就成了一個汽車類別。
汽車類別可以建立出載油量、耗油量不同的Ferrari、Lamborghini物件,
而這兩個不同的汽車物件,加滿油行駛的距離自然是不同的。
public class Ccar //汽車類別
{
public double gas, tbo; //宣告最多載油量, 平均耗油量
public double max_dist = 0; //加滿油可行駛最長距離
public void MaxDist() //計算可行駛最長距離
{
max_dist = gas * tbo;
}
public double Dist(double oil) //一般加油可行駛距離
{
return oil * tbo;
}
}
public static void main(String[] args)
{
Ccar Ferrari; //宣告Ferrari物件
Ferrari = new Ccar(); //建立Ferrari物件
Ferrari.gas = 40.7; //設定Ferrari物件的屬性值
Ferrari.tbo = 13.6;
Ferrari.MaxDist(); //呼叫Ferrari物件的方法
double distance = Ferrari.Dist(10); //呼叫Ferrari物件的方法,並取得傳回值
Ccar Lamborghini = new Ccar(); //宣告並建立Lamborghini物件
Lamborghini.gas = 60; //設定Lamborghini物件的屬性值
Lamborghini.tbo = 9.5;
System.out.println(" Ferrari汽車資訊:");
System.out.println("最大載油量:" + Ferrari.gas + " L");
System.out.println("平均耗油量:" + Ferrari.tbo + " km/L");
System.out.println("加滿油可行駛 " + Ferrari.max_dist + " km");
System.out.println("加油10L可行駛 " + distance + " km");
}
}
打著Ferrari、Lamborghini,開始著癡心妄想,覺得 幸福。